/**
 * JSON Simlet.
 */
Ext.define('Ext.ux.ajax.JsonSimlet', {
	extend : 'Ext.ux.ajax.DataSimlet',
	alias : 'simlet.json',

	doGet : function(ctx) {
		var me = this, data = me.getData(ctx), page = me.getPage(ctx, data), reader = ctx.xhr.options.proxy.reader, ret = me
				.callParent(arguments), // pick up status/statusText
		response = {};

		if (reader.root) {
			response[reader.root] = page;
			response[reader.totalProperty] = data.length;
		} else {
			response = page;
		}

		if (ctx.groupSpec) {
			response.summaryData = me.getSummary(ctx, data, page);
		}

		ret.responseText = Ext.encode(response);
		return ret;
	}
});
